﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace _2021_5_28
{
    class Program
    {
        static void Main(string[] args)
        {
            //1、生成0-5之间的随机小数，保留两位小数（必须是2位）。
            Random random = new Random();
            Console.WriteLine("0-5之间的随机小数：" + (random.NextDouble()*6).ToString("f2"));

            //2、生成4 - 7之间的随机小数，保留两位小数。
            Console.WriteLine("4-7之间的随机小数为：" + (random.Next(4,7) + random.NextDouble()).ToString("f2"));

            //3、生成一个随机整型数组，长度是10，内容是1~10，数组内容不重复。
            int[] arr = new int[10];
            int ran;
            for (int i = 1; i < 11; i++) 
            {
                ran = random.Next(0, 10);
                if (arr[ran] == 0)
                {
                    arr[ran] = i;
                }
                else
                {
                    i--;
                }
                

            }

            Console.WriteLine("随机生成的数组为：");
            foreach (var item in arr)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
            //4、用户输入邮箱，请验证其合法性。
            //1、邮箱一定需要 @符号
            //2、根据 @符号分为两部分，“前半部分 @ 后半部分”，
            //前半部分可以数字、字母、下划线、中划线、 .（符号点）。但是.（符号点）不能 用在开头也不能用在结尾；
            //后半部分可以数字、字母、下划线、中划线、.（符号点），且符号点是必须的，至少出现一次，但不能连续出现，且符号点不能在开头，也不能在结尾。
	    	//后半部分的符号点后面只能是：com、org、net、edu、mil、tv、biz、info
            Regex email = new Regex(@"^[^.]{1}[\S]{1,}[^.]@[\S]{1,}.(com|org|net|edu|mil|tv|biz|info)$");
            string emNum = "";

            while (true)
            {
                Console.WriteLine("请输入电子邮箱：(-1退出)");
                emNum = Console.ReadLine();
                if (emNum.Equals("-1"))
                {
                    break;
                }

                if (email.IsMatch(emNum))
                {
                    Console.WriteLine("正确");
                }
                else
                {
                    Console.WriteLine("错误");
                }
            }


            //5、用户输入手机号码，请验证其合法性。
            //手机号码规则：
            //最开头 + 86可有可无
            //13开头第三位是 0 - 9
            //14开头第三位是 5或7
            //15开头第三位是 0 - 9不包含4
            //17开头第三位是 678中的一个
            //18开头第三位是 0 - 9
            //剩下的8位，都是0 - 9的数字。

            Regex telNumber = new Regex(@"^(\+86)?(13[0-9]|14[5-7]|15{^40-9]|17[6-8]|18[0-9])([0-9]{8})$");
            string telNum = "";

            while (true)
            {
                Console.WriteLine("请输入电话号码：(-1退出)");
                telNum = Console.ReadLine();

                if (telNum.Equals("-1"))
                {
                    break;
                }

                if (telNumber.IsMatch(telNum))
                {
                    Console.WriteLine("正确");
                }
                else
                {
                    Console.WriteLine("错误");
                }
            }



        }
    }
}